// const reg = /[2]/g;
// const data = '20456'; 
// console.log(data.matchAll(reg));//data.matchAll 的返回值是一个迭代器 // Object [RegExp String Iterator] {}
// console.log([...data.matchAll(reg)])  // [ '2', index: 0, input: '20456', groups: undefined ] 

const promise1 = Promise.resolve(100);
const promise2 = new Promise((resolve, reject) => setTimeout(reject, 100, 'info'));
const promise3 = new Promise((resolve, reject) => setTimeout(resolve, 200, 'name'))

Promise.allSettled([promise1, promise2, promise3]).then((res) => {
  console.log(res)
  // 结果：
  // [
  //   { status: 'fulfilled', value: 100 },
  //   { status: 'rejected', reason: 'info' },
  //   { status: 'fulfilled', value: 'name' }
  // ]
})

// const num1 = +9007199254740991
// const num2 = 9007199254740991n

// console.log(num1 + 1)
// console.log(num2 + 1n)

//Number 类型不能表示大于 2 的 1024 次方的数值
// let num3 = 9999;
// for(let i = 0; i < 10; i++) {
//     num3 = num3 * num3;
// }19
// console.log(num3); // Infinity

//BigInt 类型可以表示任意位数的整数
// let num4 = 9999n;
// for(let i = 0n; i < 10n; i++) {
//     num4 = num4 * num4;
// }
// console.log(num4);

console.log(BigInt(999));